package com.xinkao.log.config.base;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * @Description 通用数据处理接口
 * @Author
 * @Date 2019/2/20 15:13
 * @Param
 * @Return
 */
public interface BaseMapper<T> extends com.baomidou.mybatisplus.core.mapper.BaseMapper<T>{

    /**
     * @Description 分页查询
     * @Author
     * @Date 2019/2/20 15:14
     * @Param [entity]
     * @Return java.util.List<T>
     */
    IPage<T> list4Page(Page<T> page, JSONObject jsonObject);

    /**
     * @Description 条件查询
     * @Author
     * @Date 2019/2/20 15:14
     * @Param [entity]
     * @Return java.util.List<T>
     * @return
     */
    List<T> listByCondition(JSONObject jsonObject);

    /**
     * @Description 逻辑删除多条记录
     * @Author
     * @Date 2019/2/21 10:52
     * @Param [ids]
     * @Return java.lang.Boolean
     */
    Boolean deleteLogic(List ids);

    /**
     * @Description 根据id查询详情
     * @Author
     * @Date 2019/2/23 16:15
     * @Param [id]
     * @Return T
     */
    T queryOneById(String id);

}
